<!--suppress ALL -->
<template>
    <div class="page newCheckApply-task-list" data-page="waitApply" style="z-index: 2">
        <div class="link-page-nav">
            <a href="#" class="link" @click="$root.backToTab()">
                <i class="iconfont icon-zuo"></i>
            </a>
        </div>
        <div class="link-page-top">
            <div class="link-page-title">待领取点位</div>
        </div>
        <div class="page-content infinite-scroll-content" style="padding-bottom: 80px;">
            <div class="list media-list">
                <ul id="checkApplyList" class="waitApplyList"></ul>
            </div>
        </div>
        <div class="toolbar tabbar tabbar-labels toolbar-bottom-md toolbar-bottom-a">
            <div class="all-selected">
                <label class="checkbox checkApply-checkbox " id="checkbox-checkAll">
                    <input type="checkbox" id="checkbox-checkAll-btn">
                    <i class="icon-checkbox"></i>
                </label><span id="checkbox-allPoint-btn">全选</span>                    
            </div>       
            <div class="ok" @click="sbmitTask()">领取</div>         
        </div>
    </div>
</template>

<script>
return {
   mounted() {
      var self = this;
      var $ = self.$;
  },
  beforeCreate() {
      var self = this;
      var $ = self.$;
  },
  data: function() {
    return {
        singlePointArray:[],//勾选的点位信息
        allPointArray:[],//全选的点位信息
       }
  },
  methods: {
    //提交
    sbmitTask:function(){
      let self = this;
      if(self.singlePointArray.length==0){
        app.methods.showToastBottom("请选择要领取的点位");
        return;
      }
      var pointIds="";
      for(var i=0;i<self.singlePointArray.length;i++){
        if(i==self.singlePointArray.length-1){
          pointIds+=self.singlePointArray[i];
        }else{
          pointIds+=self.singlePointArray[i]+",";
        }
      }
      Dao.takeTaskNew({
          userName:userInfor.accountName,
          deviceId:appKeyObj.deviceId,
          taskId:self.$route.params.taskId,
          pointIds:pointIds,
          account: userInfor.accountName    
      },function(data) {
        if(data.status==200){
           app.methods.showToastCenter('领取巡检任务成功！');
           app.methods.freshEqment();
           app.methods.backToTab(true);
        }else if(data.status==203){
           common.loading(0);
           app.methods.showToastCenter('部分点位已领取或已完成,领取巡检任务失败！');
        }else{
           common.loading(0);
           app.methods.showToastCenter('领取巡检任务失败！');
        }
           
      }); 
    },
    //获取所有的待领取的点位信息
    getCheckListInfo: function () {
      let self = this;
      //获取实时巡检数据
      Dao.getInspectTaskInfoByStatus({
        userName:userInfor.accountName,
        deviceId:appKeyObj.deviceId,
        orgIds:self.$route.params.orgId,
        status:0,
        account:userInfor.accountName,
        taskId:self.$route.params.taskId
      },function(data) {
        $("#checkApplyList").empty();
        if(data&&data.length>0){
          var pointList=data[0].inspectPointResult;//待领取的点位信息
          for(var i=0;i<pointList.length;i++){
             self.allPointArray.push(pointList[i].id.toString());
             $("#checkApplyList").append(`
              <li>
                    <label class="checkbox checkApply-checkbox point-checkBox" data-id="`+pointList[i].id+`" >
                          <input type="checkbox" class="point-checkBox-btn">
                          <i class="icon-checkbox"></i>
                    </label>
                    <a href="#" class="item-link item-content checkApplyList-get-task-list">
                        <div class="item-inner">
                            <div class="item-title-row">
                                <div class="item-title">`+common.transNullundefinedToline(pointList[i].name)+`</div>
                            </div>
                            <div class="item-subtitle">
                                <div class="checkApply-type">`+common.transNullundefinedToline(pointList[i].pointTypeName)+`</div>
                            </div>
                            <div class="item-text checkApply-address">
                                <i class="iconfont icon-dingweiweizhi"></i>
                                地址：`+common.transNullundefinedToline(pointList[i].address)+`
                            </div>
                        </div>
                        <div class="item-media" id="checkApply_img_`+pointList[i].id+`" style="background:#f4f3f3;margin-right: 20px;">
                            <img src="`+common.transDefaultImg_check(pointList[i].picUrl)+`" id="checkApply_pic_`+pointList[i].id+`" style="border-radius: 5px;">
                        </div>
                    </a>
                </li>`);

                if(pointList[i].picUrl==null||pointList[i].picUrl==undefined||pointList[i].picUrl==""){
                    jQuery("#checkApply_pic_"+pointList[i].id).addClass("no-pic");
                } else{
                    jQuery("#checkApply_pic_"+pointList[i].id).removeClass("no-pic");
                }
                jQuery("#checkApply_pic_"+pointList[i].id).off("click").on("click",{
                  'data':pointList[i].picUrl.split(',')
                },function(e) {
                    if(e.data.data && e.data.data[0]){
                        openAndShowBigImage(e.data.data,0);
                    }
                });
          }
        }else{
            $("#checkApplyList").append(`<div class="no-data-img"><img src="`+listNoDataPic()+`" /></div>`);
        }
        //单联网用户只有一般用户角色才可以领取巡检
        // if(userInfor.isMuilUnitUser==0&&userInfor.role[0].id!=144&&userInfor.role[0].id!=143){
            $(".toolbar-bottom-a").show();
            $(".point-checkBox").show();
        // }
        //勾选
        jQuery(".point-checkBox").off().click(function(event){
           let id = jQuery(event.currentTarget).attr("data-id");
           let index=self.singlePointArray.indexOf(id);
           if(index==-1){
              self.singlePointArray.push(id);
           }else{
              self.singlePointArray.splice(index,1);
           }
           //根据数组长度判断是否需要全选选中
           if(self.singlePointArray.length==self.allPointArray.length){
              $("#checkbox-checkAll").prop("checked", true);
              $("#checkbox-checkAll-btn").prop("checked", true);
           }else{
              $("#checkbox-checkAll").prop("checked", false);
              $("#checkbox-checkAll-btn").prop("checked", false);
           }
        });
    });
    }
  },
  on: {
      pageInit: function(e, page) {
          var self = this;
          var $ = self.$;
          self.getCheckListInfo();
          $("#checkbox-allPoint-btn").click(function () {
              if (!jQuery("#checkbox-checkAll-btn").prop("checked")) {
                  $("#checkbox-checkAll").prop("checked", true);
                  $("#checkbox-checkAll-btn").prop("checked", true);
                  $(".point-checkBox").prop("checked", true);
                  $(".point-checkBox-btn").prop("checked", true);
                  self.singlePointArray=self.allPointArray;
              } else {
                  $("#checkbox-checkAll").prop("checked", false);
                  $("#checkbox-checkAll-btn").prop("checked", false);
                  $(".point-checkBox").prop("checked", false);
                  $(".point-checkBox-btn").prop("checked", false);
                  self.singlePointArray=[];
              }  
          });
          $("#checkbox-checkAll").click(function () {
              if (!jQuery("#checkbox-checkAll-btn").prop("checked")) {
                  $(".point-checkBox").prop("checked", true);
                  $(".point-checkBox-btn").prop("checked", true);
                  self.singlePointArray=[];
                  for(var i=0;i<self.allPointArray.length;i++){
                     self.singlePointArray[i]=self.allPointArray[i];
                  }
              } else {
                  $(".point-checkBox").prop("checked", false);
                  $(".point-checkBox-btn").prop("checked", false);
                  self.singlePointArray=[];
              }  
          });

      },
      pageBeforeIn:function(e,page) {
          var self = this;
          var $ = self.$;
      },
      pageAfterIn: function(e, page) {
          var self = this;
          var $ = self.$;
      },
    }
}
</script>